package com.ruoyi.zhmk.domain;

import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity;

/**
 * 人员请假对象 zhmk_ask
 * 
 * @author ruoyi
 * @date 2021-06-24
 */
public class ZhmkAsk extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 请假ID */
    private Long id;

    /** 人员ID */
    @Excel(name = "人员ID")
    private Long userId;

    /** 人员状态 */
    @Excel(name = "人员状态")
    private Integer userType;

    /** 请假状态 */
    @Excel(name = "请假状态")
    private Integer status;

    /** 请假开始时间 */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @Excel(name = "请假开始时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
    private Date askStartDate;

    /** 请假结束时间 */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @Excel(name = "请假结束时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
    private Date askEndDate;

    /** 审核人 */
    @Excel(name = "审核人")
    private String auditor;

    /** 角色编码 */
    @Excel(name = "角色编码")
    private String roleCode;

    /** 部门id */
    @Excel(name = "部门id")
    private Long deptId;

    /** 请假事由 */
    @Excel(name = "请假事由")
    private String reasons;

    /**
     * 出门时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date outTime;
    /**
     * 归队时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date inTime;

    private ZhmkPerson zhmkPerson;
    /**
     * 逾期时间
     */
    private Long overdueTime;

    public ZhmkPerson getZhmkPerson() {
        return zhmkPerson;
    }

    public void setZhmkPerson(ZhmkPerson zhmkPerson) {
        this.zhmkPerson = zhmkPerson;
    }

    public void setId(Long id)
    {
        this.id = id;
    }

    public Long getId() 
    {
        return id;
    }
    public void setUserId(Long userId) 
    {
        this.userId = userId;
    }

    public Long getUserId() 
    {
        return userId;
    }
    public void setUserType(Integer userType) 
    {
        this.userType = userType;
    }

    public Integer getUserType() 
    {
        return userType;
    }
    public void setStatus(Integer status) 
    {
        this.status = status;
    }

    public Integer getStatus() 
    {
        return status;
    }
    public void setAskStartDate(Date askStartDate) 
    {
        this.askStartDate = askStartDate;
    }

    public Date getAskStartDate() 
    {
        return askStartDate;
    }
    public void setAskEndDate(Date askEndDate) 
    {
        this.askEndDate = askEndDate;
    }

    public Date getAskEndDate() 
    {
        return askEndDate;
    }
    public void setAuditor(String auditor) 
    {
        this.auditor = auditor;
    }

    public String getAuditor() 
    {
        return auditor;
    }
    public void setRoleCode(String roleCode) 
    {
        this.roleCode = roleCode;
    }

    public String getRoleCode() 
    {
        return roleCode;
    }
    public void setDeptId(Long deptId) 
    {
        this.deptId = deptId;
    }

    public Long getDeptId() 
    {
        return deptId;
    }
    public void setReasons(String reasons) 
    {
        this.reasons = reasons;
    }

    public String getReasons() 
    {
        return reasons;
    }

    public Date getOutTime() {
        return outTime;
    }

    public void setOutTime(Date outTime) {
        this.outTime = outTime;
    }

    public Date getInTime() {
        return inTime;
    }

    public void setInTime(Date inTime) {
        this.inTime = inTime;
    }

    public Long getOverdueTime() {
        return overdueTime;
    }

    public void setOverdueTime(Long overdueTime) {
        this.overdueTime = overdueTime;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("id", getId())
            .append("userId", getUserId())
            .append("userType", getUserType())
            .append("status", getStatus())
            .append("askStartDate", getAskStartDate())
            .append("askEndDate", getAskEndDate())
            .append("createTime", getCreateTime())
            .append("updateTime", getUpdateTime())
            .append("auditor", getAuditor())
            .append("roleCode", getRoleCode())
            .append("deptId", getDeptId())
            .append("reasons", getReasons())
            .toString();
    }
}
